from pdf2docx import Converter
import os

def pdf_to_word(pdf_path, word_path=None):
    """
    将PDF文件转换为Word文档
    :param pdf_path: PDF文件路径
    :param word_path: 输出的Word文件路径（可选）
    :return: 转换后的Word文件路径
    """
    try:
        # 如果未指定输出路径，则使用原文件名，仅更改扩展名
        if word_path is None:
            word_path = os.path.splitext(pdf_path)[0] + '.docx'
        
        # 创建转换器对象
        cv = Converter(pdf_path)
        # 执行转换
        cv.convert(word_path)
        # 关闭转换器
        cv.close()
        
        print(f"转换成功！文件保存在: {word_path}")
        return word_path
    
    except Exception as e:
        print(f"转换过程中出现错误: {str(e)}")
        return None

if __name__ == "__main__":
    # 获取当前目录
    current_dir = os.path.dirname(os.path.abspath(__file__))
    
    # 列出当前目录下的所有PDF文件
    pdf_files = [f for f in os.listdir(current_dir) if f.endswith('.pdf')]
    
    if not pdf_files:
        print("当前目录下没有找到PDF文件！")
    else:
        print("当前目录下的PDF文件：")
        for i, pdf_file in enumerate(pdf_files, 1):
            print(f"{i}. {pdf_file}")
        
        try:
            choice = int(input("\n请选择要转换的PDF文件序号: ")) - 1
            if 0 <= choice < len(pdf_files):
                pdf_path = os.path.join(current_dir, pdf_files[choice])
                pdf_to_word(pdf_path)
            else:
                print("无效的选择！")
        except ValueError:
            print("请输入有效的数字！")
